Release 10.1A: OpenEdge Development:
Debugging and Troubleshooting


Procedure files and listing generation

You can debug procedure files in both source (.p, .w) and r-code (.r) form. OpenEdge makes every attempt to provide the debug listing for the procedure you are debugging. If necessary, OpenEdge generates the debug listing automatically (“on the fly”). Any automatic listing generation creates a temporary file that is deleted at the end of your session. For more information on temporary debug listings, see the "Debug listing files" section.

The method OpenEdge uses to provide a debug listing depends on the form of the procedure OpenEdge has available to execute: r-code or source code.

Debug listing generation from r-code

When your application runs an r-code file, OpenEdge attempts to provide the debug listing for it by searching the PROPATH for the associated source file (.p, .w). The r-code contains references to all associated source, include, and debug listing files, as well as its cyclic redundancy check (CRC) value.

If OpenEdge finds the source file associated with an r-code file, it compares the CRC value of the source file with the corresponding CRC value stored in the r-code. If the CRC values do not match, OpenEdge displays a warning message and continues using the file with a bad CRC value.

You can step through r-code for which the source code is unavailable; however, the Debugger cannot display the source code in the source code pane. In this case, the Debugger displays the procedure name and line number in the status bar.

Debug listing generation from source code

If all you have is the source code for a procedure, OpenEdge automatically generates the debug listing during compilation and saves it as a temporary file. OpenEdge generates temporary debug listings from source both when you execute a procedure for a debugging session and when you just display the procedure in the source code pane.

Hidden procedure files

The Debugger ignores any procedure file (hidden procedure) whose filename begins with an underscore (_). Although you can execute a hidden procedure, it is hidden from the Debugger in the following ways:

The OpenEdge ADE tools that invoke the Debugger use hidden procedures to keep the tools themselves invisible to the Debugger. You can use the same technique when writing your own development tools that invoke the Debugger.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095